home *** CD-ROM | disk | FTP | other *** search
/ European High School Girl / European High School Girl.iso / pc / winsetup / setup.ms_ / setup.ms
Encoding:
Text File  |  1996-03-08  |  7.1 KB  |  266 lines

  1. '**************************************************************************
  2. '*    < EUROPE > setup program ver 1.0  1996.1.12 by STEPS
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST DESTPATH2     = 350
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST EXITSUCCESSREBOOT   = 750
  19. CONST OPTIONS       = 800
  20. CONST APPHELP       = 900
  21. CONST BADPATH       = 6400
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 0
  25.  
  26. GLOBAL DEST$        ''Default destination directory.
  27. GLOBAL startDrv$        ''Default start drive.
  28. GLOBAL UPDATEDAutoexec$
  29.  
  30. UPDATEDAutoexec$ = "NO"
  31.  
  32. ''GLOBAL OPTCUR$      ''Option selection from option dialog.
  33.  
  34.     DECLARE sub Install
  35.     DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  36.  
  37.     DECLARE FUNCTION ExitWindows LIB "user.exe" (opt1%, opt2%) AS INTEGER
  38. rem    DECLARE FUNCTION ExitWindowsExec LIB "user.exe" (opt1%, opt2%) AS INTEGER
  39.  
  40. CONST REBOOTSYSTEM = 67
  41.  
  42. INIT:
  43.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  44. ''    HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  45. ''    SetBitmap CUIDLL$, LOGO
  46.  
  47.     SetTitle "< M Y S T Y >"
  48.  
  49.     szInf$ = GetSymbolValue ("STF_SRCINFPATH")
  50.     IF szInf$ = "" THEN
  51.         szInf$ = GetSymbolValue ("STF_CWDDIR") + "SETUP.INF"
  52.     END IF
  53.     ReadInfFile szInf$
  54.  
  55. rem    DECLARE SUB Reboot LIB "mscuistf.dll" ()
  56.  
  57. ''    OPTCUR$ = "1"
  58.     DEST$ = MID$(GetWindowsSysDir(),1,1)
  59.     startDrv$= MID$(GetWindowsSysDir(),1,1)
  60.  
  61. '$IFDEF DEBUG
  62.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  63.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  64.     IF IsDriveValid(WinDrive$) = 0 THEN
  65.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  66.         GOTO QUIT
  67.     END IF
  68. '$ENDIF ''DEBUG
  69.  
  70.  
  71. WELCOME:
  72. sz$ = "CONTINUE"
  73. ''    sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
  74. ''    IF sz$ = "CONTINUE" THEN
  75. ''        UIPop 1
  76. ''    ELSE
  77. ''        GOSUB ASKQUIT
  78. ''        GOTO WELCOME
  79. ''    END IF
  80.  
  81. GETPATH:
  82.     SetSymbolValue "EditTextIn", DEST$
  83.     SetSymbolValue "EditFocus", "END"
  84. GETPATHL1:
  85.     DEST$ = MID$(DEST$, 1, 1)
  86. ''    sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
  87. ''    DEST$ = GetSymbolValue("EditTextOut")
  88. ''    DEST$ = MID$(DEST$, 1, 1)
  89.     DEST$=DEST$+":¥"
  90.  
  91.  
  92.     IF sz$ = "CONTINUE" THEN
  93.         IF IsDirWritable(DEST$) = 0 THEN
  94.             GOSUB BADPATH
  95.             GOTO GETPATHL1
  96.         END IF
  97.         UIPop 1
  98.     ELSEIF sz$ = "REACTIVATE" THEN
  99.         GOTO GETPATHL1
  100.     ELSEIF sz$ = "BACK" THEN
  101.         UIPop 1
  102.         GOTO WELCOME
  103.     ELSE
  104.         GOSUB ASKQUIT
  105.         GOTO GETPATH
  106.     END IF
  107.  
  108.  
  109. GETPATH2:
  110.     SetSymbolValue "EditTextIn", startDrv$
  111.     SetSymbolValue "EditFocus", "END"
  112. GETPATHL21:
  113. ''    sz$ = UIStartDlg(CUIDLL$, DESTPATH2, "FEditDlgProc", 0, "")
  114. ''    startDrv$ = GetSymbolValue("EditTextOut")
  115.     startDrv$ = MID$(startDrv$, 1, 1)
  116.     startDrv$ = startDrv$ + ":¥"
  117.  
  118.     IF sz$ = "CONTINUE" THEN
  119.         IF IsDirWritable(startDrv$) = 0 THEN
  120.             GOSUB BADPATH
  121.             GOTO GETPATHL21
  122.         END IF
  123.         UIPop 1
  124.     ELSEIF sz$ = "REACTIVATE" THEN
  125.         GOTO GETPATHL21
  126.     ELSEIF sz$ = "BACK" THEN
  127.         UIPop 1
  128.         GOTO WELCOME
  129.     ELSE
  130.         GOSUB ASKQUIT
  131.         GOTO GETPATH2
  132.     END IF
  133.  
  134.  
  135.     Install     '' main subrutin
  136.  
  137.  
  138. QUIT:
  139.     ON ERROR GOTO ERRQUIT
  140.  
  141.     IF ERR = 0 THEN
  142.         IF UPDATEDAutoexec$ = "YES" THEN
  143.                 dlg% = EXITSUCCESSREBOOT
  144.         ELSE
  145.                 dlg% = EXITSUCCESS
  146.         END IF
  147.     ELSEIF ERR = STFQUIT THEN
  148.         dlg% = EXITQUIT
  149.     ELSE
  150.         dlg% = EXITFAILURE
  151.     END IF
  152. QUITL1:
  153. ''    sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  154. ''    IF sz$ = "REACTIVATE" THEN
  155. ''        GOTO QUITL1
  156. ''    END IF
  157. ''    UIPop 1
  158.  
  159.     '' Reboot Dos
  160. ''    IF dlg% = EXITSUCCESSREBOOT THEN
  161. ''        aho%=ExitWindows(REBOOTSYSTEM,0)
  162. ''    END IF
  163.  
  164.     END
  165.  
  166. ERRQUIT:
  167.     i% = DoMsgBox("Setup sources were corrupted, call Service Center", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  168.     END
  169.  
  170.  
  171.  
  172. BADPATH:
  173.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  174.     IF sz$ = "REACTIVATE" THEN
  175.         GOTO BADPATH
  176.     END IF
  177.     UIPop 1
  178.     RETURN
  179.  
  180.  
  181.  
  182. ASKQUIT:
  183.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  184.  
  185.     IF sz$ = "EXIT" THEN
  186.         UIPopAll
  187.         ERROR STFQUIT
  188.     ELSEIF sz$ = "REACTIVATE" THEN
  189.         GOTO ASKQUIT
  190.     ELSE
  191.         UIPop 1
  192.     END IF
  193.     RETURN
  194.  
  195.  
  196.  
  197. '**
  198. '** Purpose:
  199. '**     Builds the copy list and performs all installation operations.
  200. '** Arguments:
  201. '**     none.
  202. '** Returns:
  203. '**     none.
  204. '*************************************************************************
  205. SUB Install STATIC
  206.  
  207.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  208.     '' CreateDir DEST$, cmoNone
  209.  
  210.     '' OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  211.     '' WriteToLogFile ""
  212.  
  213. ''    AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  214.     ''AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
  215. ''    CopyFilesInCopyList
  216.  
  217.     '' Update WIN.INI and VJTEST.INI
  218.     '' -----------------------------
  219.     ''ini$ = MakePath(DEST$, "AVTEST.INI")
  220.     '' CreateIniKeyValue "WIN.INI", "AVTEST", "Option", OPTCUR$, cmoNone
  221.     ''CreateIniKeyValue ini$, "Section name", "Key", "Value" , cmoNone
  222.  
  223.     '' Update AUTOEXEC.BAT
  224.     '' -------------------
  225.  
  226.  
  227.     '' create Program Group and Show it
  228.     '' --------------------------------
  229.     CreateProgmanGroup "MYSTY", "", cmoNone
  230.     ShowProgmanGroup  "MYSTY", 1, cmoNone
  231.  
  232.     CreateProgmanItem "MYSTY", "はじめに", MakePath(GetSymbolValue("STF_SRCDIR"),"README_J.WRI"), "", cmoOverwrite
  233.     CreateProgmanItem "MYSTY", "ヨーロッパの 制服美少女", MakePath(GetSymbolValue("STF_SRCDIR"),"EURO_1.EXE"), "", cmoOverwrite
  234.     CreateProgmanItem "MYSTY", "QuickTime for Windows 2.03 Install", MakePath(GetSymbolValue("STF_SRCDIR"),"WINSETUP¥QTINSTAL.EXE"), "", cmoOverwrite
  235. ''    AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  236.  
  237.     '' CloseLogFile
  238.  
  239. END SUB
  240.  
  241.  
  242.  
  243. '**
  244. '** Purpose:
  245. '**     Appends a file name to the end of a directory path,
  246. '**     inserting a backslash character as needed.
  247. '** Arguments:
  248. '**     szDir$  - full directory path (with optional ending "¥")
  249. '**     szFile$ - filename to append to directory
  250. '** Returns:
  251. '**     Resulting fully qualified path name.
  252. '*************************************************************************
  253. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  254.     IF szDir$ = "" THEN
  255.         MakePath = szFile$
  256.     ELSEIF szFile$ = "" THEN
  257.         MakePath = szDir$
  258.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "¥" THEN
  259.         MakePath = szDir$ + szFile$
  260.     ELSE
  261.         MakePath = szDir$ + "¥" + szFile$
  262.     END IF
  263. END FUNCTION
  264.  
  265.